import gmpy2
import libnum

p = 12213843677002747766848780813863444765635042481765413051856941866086491788109497010943473273572566841660085356963998380859972440509623320585264570870882377
q = 10902490082251495426199569292732505400137675709524837939357515262329540011464655744129250363907196869656418112808846020897118146863902562367003327272321449
r = 8245419815086573989912567235897662412607561235885604814025447500079491044202192595152864571279969681042912188605024753854047024662013720379103778526236839
z = 10917615097508699827805276639030692194611453656058695332553958067645900726083779376328239937088149850336439698089338637703951122165530113430740915375254019

n = 11987223678888371522590014163574474585984194442215707213681942674682481521159615601278963653710214413966851484769697316184020225580354584969280759516304518930586023758786499707314773352093733555751516210440026493115763715594030219348717378054713330562469489929071833023251985410432681379225722515249114768069799538178471227684886585818611193385720863927599686403372685979041786980765941581357531078866173940675302211156740624961660458364870744891267336542629860728676639340370300143607766541999848139604816244471035977632825191833661785202909345705598016303539579822007932773115520022154167375759849411486420750385893
e = 65537
c = 5395740155304669350813446148984001089577243830507792794817942379567952891169689187159605803584012696669416468262913205072505580096612689488031607303556309165510626352159994870224831746393515302036056276128780176510345937509694407306122459125905753373646070294254525528004397615098037040212875934172270348504386498501381675335673389883548268757941289932688918632949813634383348968682753785403890857910581199432899158400152800186245499719012819119582095532181336705889412130586102740186044306846473639210373743145249675886413163898094394917296889841622782268580482112735272818555859742460277831777444758731534129950815

nn = [p, q, r, z]
phi = 1
for i in nn:
    phi *= (i - 1)
d = gmpy2.invert(e, phi)
m = pow(c, d, n)
print(libnum.n2s(int(m)))
